home *** CD-ROM | disk | FTP | other *** search
/ PC Electronics Plus 3 / PC Electronics Plus 3.iso / subdwg / lsp / iequ.lsp < prev    next >
Lisp/Scheme  |  1994-11-18  |  2KB  |  67 lines

  1. ;*******************************************************************
  2. :* Comando : iequ
  3. ;* Comentarios : esta funcion se usa para insertar simbolos
  4. ;* unilineales en una forma mas natural que con el comando insert.
  5. ;* Se usa basicamente para los bloques elementales
  6. ;*******************************************************************
  7. ;
  8. ; Change Log
  9. ;
  10. ; 14/10/94 C.Perigault  Creacion
  11. ;
  12. (defun c:iequ ()
  13.  
  14.    ; para evitar el echo de los comandos
  15.    (setq cmdecho (getvar "CMDECHO"))
  16.    ;(setvar "CMDECHO" 0)
  17.     
  18.    ; SUBCAN varible del sistema que posee el path dondo se encuentran 
  19.    ; los dibujos de canalizacion
  20.    (setq nombre (getstring "\nNombre del equipo: "))
  21.    (setq path   (getenv "SUBEQU")) 
  22.    
  23.    
  24.    ; el nombre del bloque en alambre
  25.    (setq nombreBloqueAlambre (strcat "ALA_" nombre))
  26.  
  27.      
  28.      ; primero vemos si el dibujo ya ha sido insertado con aterioridad
  29.      ; de no ser asi lo buscamos en el disco  
  30.      (if (tblsearch "BLOCK" nombre)
  31.        (progn
  32.          ; ahora insertamos el bloque en alambre
  33.          (if (tblsearch "BLOCK" nombreBloqueAlambre)
  34.            (progn
  35.              (setvar "TEXTEVAL" 1)
  36.              (command "INSERT" nombreBloqueAlambre pause)
  37.              (setvar "TEXTEVAL" 0)
  38.            ); end prog
  39.            (princ (strcat "\nEl bloque en alambre de: " nombre " no se ecuentra"))
  40.           ); end if
  41.         ); end progn
  42.        ; buscamos el dibujo en el disco
  43.        (if (findfile (strcat path "\\" nombre ".dwg"))
  44.          (progn
  45.        ; insertamos el dibujo de definicion del equipo
  46.            ; y luego lo borramos, ya que solo nos interesan
  47.            ; los bloques definidos en le dibujo
  48.            (command "INSERT" (strcat path "\\" nombre) '(0 0 0) "" "" "")
  49.            (command "ERASE" "LAST" "")
  50.            
  51.            ; ahora insertamos el bloque en alambre
  52.            (if (tblsearch "BLOCK" nombreBloqueAlambre)
  53.              (progn
  54.                (setvar "TEXTEVAL" 1)
  55.                (command "INSERT" nombreBloqueAlambre pause)
  56.                (setvar "TEXTEVAL" 0)
  57.              ); end progn
  58.              (princ (strcat "\nEl bloque en alambre de: " nombre " no se ecuentra"))
  59.            ); end if
  60.           ); end progn
  61.         
  62.        (princ (strcat "\nEl equipo: " nombre " no se encuentra" ))
  63.        ); end if
  64.       ); end if
  65.    (setvar "CMDECHO" cmdecho)
  66. ) ; end defun
  67.